home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 12 / CU Amiga Magazine's Super CD-ROM 12 (1997)(EMAP Images)(GB)[!][issue 1997-07].iso / CUCD / Games / DestructivePoker / sources / sources.lha / double.h < prev    next >
C/C++ Source or Header  |  1997-02-13  |  2KB  |  108 lines

  1. /*
  2.         double.h      (tuplaus)
  3.  
  4.         V1.00 - 241196  Kimmo Teräväinen
  5.         -----   ------  ----------------
  6.         V0.10   260197  started from TBetPrefsDialog
  7.         V0.20   260197  Double Dialog done (Amiga version tested).
  8.         V0.21   310197  Windows version tested.
  9.  
  10. */
  11. #ifndef DC1_POKER_DOUBLE
  12. #define DC1_POKER_DOUBLE
  13.  
  14. #include "game.h"
  15.  
  16. #ifdef _Windows
  17.  
  18. class TDoubleDialog : public TDialog {
  19.   cGamePoker *game;
  20.   int win;
  21.   cIMGCard *card;
  22. public:
  23.   TDoubleDialog(cGamePoker *ngame,TWindow *parent,int Win) :
  24.     TDialog(parent,DIALOG_DOUBLE,0),
  25.     win(Win),
  26.     game(ngame),
  27.     card(NULL)
  28.   {}
  29.   void SetupWindow();
  30.   virtual ~TDoubleDialog() {
  31.     DeleteCard();
  32.     game->Money_Add(win);     // pay pot on exit
  33.     Destroy();
  34.   }
  35.  
  36.   void CreateCard() {
  37.     int id=rand()%(52+game->Jokers());
  38.     if(card) DeleteCard();
  39.     card=new cIMGCard(this,game->Gfx(),cPoint(150,30),cCard(id));
  40.     if(card) {
  41.       card->Turn_CoverDown();
  42.       card->Show();
  43.     }
  44.     else ButtonOK();
  45.   }
  46.   void DeleteCard() {
  47.     if(card) {
  48.       card->Hide();
  49.       delete card;
  50.     }
  51.     card=NULL;
  52.   }
  53.  
  54.   void ButtonSmall() {
  55.     if(!card) ButtonOK();
  56.  
  57.     card->Turn_CoverUp();
  58.     if(card->Num()<6 || card->Suit()==JOKER) {
  59.       win+=win;
  60.       this->MessageBox("Win Pot Doubled!","Poker Note!");
  61.       CreateCard();
  62.       return;
  63.     }
  64.     this->MessageBox("Win Pot Lost!","Poker Note!");
  65.     win=0;
  66.     CloseWindow();
  67.   }
  68.  
  69.   void ButtonBig() {
  70.     if(!card) ButtonOK();
  71.  
  72.     card->Turn_CoverUp();
  73.     if(card->Num()>6 || card->Suit()==JOKER) {
  74.       win+=win;
  75.       this->MessageBox("Win Pot Doubled!","Poker Note!");
  76.       CreateCard();
  77.       return;
  78.     }
  79.     this->MessageBox("Win Pot Lost!","Poker Note!");
  80.     win=0;
  81.     CloseWindow();
  82.   }
  83.  
  84.   void ButtonOK() {
  85.     CloseWindow();
  86.   }
  87.  
  88.   DECLARE_RESPONSE_TABLE(TDoubleDialog);
  89. };
  90.  
  91.  
  92.  
  93. #else
  94.  
  95. class TDoubleDialog {
  96.   Window *parent;
  97.   cGamePoker *game;
  98.   int win;
  99. public:
  100.   TDoubleDialog(cGamePoker *ngame,Window *Wnd,int Win) :
  101.     parent(Wnd), game(ngame), win(Win) {}
  102.  
  103.   void Execute();
  104. };
  105.  
  106. #endif
  107.  
  108. #endif